﻿
namespace XmlStudio.DataLayer {
    /// <summary>
    /// Enumeration of all allowed elements in xsd schema.
    /// </summary>
    public enum XsdElement {
        /// <summary>
        /// Element all.
        /// </summary>
        All,
        /// <summary>
        /// Element annotation.
        /// </summary>
        Annotation,
        /// <summary>
        /// Element any.
        /// </summary>
        Any,
        /// <summary>
        /// Element anyAttribute.
        /// </summary>
        AnyAttribute,
        /// <summary>
        /// Element appInfo.
        /// </summary>
        AppInfo,
        /// <summary>
        /// Element attribute.
        /// </summary>
        Attribute,
        /// <summary>
        /// Element attributeGroup.
        /// </summary>
        AttributeGroup,
        /// <summary>
        /// Element choice.
        /// </summary>
        Choice,
        /// <summary>
        /// Element complexContent.
        /// </summary>
        ComplexContent,
        /// <summary>
        /// Element complexType.
        /// </summary>
        ComplexType,
        /// <summary>
        /// Element documentation.
        /// </summary>
        Documentation,
        /// <summary>
        /// Element element.
        /// </summary>
        Element,
        /// <summary>
        /// Element extension.
        /// </summary>
        Extension,
        /// <summary>
        /// Element field.
        /// </summary>
        Field,
        /// <summary>
        /// Element group.
        /// </summary>
        Group,
        /// <summary>
        /// Element import.
        /// </summary>
        Import,
        /// <summary>
        /// Element include.
        /// </summary>
        Include,
        /// <summary>
        /// Element key.
        /// </summary>
        Key,
        /// <summary>
        /// Element keyRef.
        /// </summary>
        KeyRef,
        /// <summary>
        /// Element list.
        /// </summary>
        List,
        /// <summary>
        /// Element notation.
        /// </summary>
        Notation,
        /// <summary>
        /// Element redefine.
        /// </summary>
        Redefine,
        /// <summary>
        /// Element restriction.
        /// </summary>
        Restriction,
        /// <summary>
        /// Element schema.
        /// </summary>
        Schema,
        /// <summary>
        /// Element selector.
        /// </summary>
        Selector,
        /// <summary>
        /// Element sequence.
        /// </summary>
        Sequence,
        /// <summary>
        /// Element simpleContent.
        /// </summary>
        SimpleContent,
        /// <summary>
        /// Element simpleType.
        /// </summary>
        SimpleType,
        /// <summary>
        /// Element union.
        /// </summary>
        Union,
        /// <summary>
        /// Element unique.
        /// </summary>
        Unique,
        /// <summary>
        /// Any XML.
        /// </summary>
        AnyWellFormedXml,
        /// <summary>
        /// Defines a list of acceptable values.
        /// </summary>
        Enumeration,

        /// <summary>
        /// Specifies the maximum number of decimal places allowed. Must be equal to or greater than zero.
        /// </summary>
        FractionDigits,

        /// <summary>
        /// Specifies the exact number of characters or list items allowed. Must be equal to or greater than zero.
        /// </summary>
        Length,

        /// <summary>
        /// Specifies the upper bounds for numeric values (the value must be less than this value).
        /// </summary>
        MaxExclusive,

        /// <summary>
        /// Specifies the upper bounds for numeric values (the value must be less than or equal to this value).
        /// </summary>
        MaxInclusive,

        /// <summary>
        /// Specifies the maximum number of characters or list items allowed. Must be equal to or greater than zero.
        /// </summary>
        MaxLength,

        /// <summary>
        /// Specifies the lower bounds for numeric values (the value must be greater than this value).
        /// </summary>
        MinExclusive,

        /// <summary>
        /// Specifies the lower bounds for numeric values (the value must be greater than or equal to this value).
        /// </summary>
        MinInclusive,

        /// <summary>
        /// Specifies the minimum number of characters or list items allowed. Must be equal to or greater than zero.
        /// </summary>
        MinLength,

        /// <summary>
        /// Defines the exact sequence of characters that are acceptable.
        /// </summary>
        Pattern,

        /// <summary>
        /// Specifies the exact number of digits allowed. Must be greater than zero.
        /// </summary>
        TotalDigits,

        /// <summary>
        /// Specifies how white space (line feeds, tabs, spaces, and carriage returns) is handled.
        /// </summary>
        WhiteSpace
    }
}
